package com.vedio.mapper;

import com.vedio.entity.User;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface UserMapper {
    List<User> selectAll();
    User selectById(Integer id);
    //通过@Param与xml文件中sql语句的参数形成映射对应，
//    List<User> selectByCondition(@Param("name")String name, @Param("category")String category);
    //将xml多个参数封装到对象中，参数名称要对应
//    List<User> selectByCondition(User user);
//    //将xml的多个参数封装到map集合中，key值要与参数名称对应
//    List<User> selectByCondition(Map map);
    int add(User user);
    /**
     * 修改
     */
    int update(User user);

    /**
     * 根据id删除
     */
    int deleteById(Integer id);

    /**
     * 批量删除
     * collection、list、array数组、多个参数都用@param注解去修改对应参数
     * 添加@param注解sql.xml就可以直接使用参数名称进行占位符设定
     */
    int deleteByIds(@Param("ids") Integer[] ids);
}
